package com.sinog.front.feign.biz;

import com.sinog.core.utilbean.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;

/**
 * @desc 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - AzbjDatabaseInfoService - feign
 * @author -
 * @date -
 */
@FeignClient("sinog2c-biz")
public interface AzbjDatabaseInfoService {

    /**
     * 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - 列表
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param mapkey mapkey
     * @return String
     */
    @RequestMapping("/azbj/abzlxxgl/azbjDatabase/list")
    String getAzbjDatabaseList(
            @RequestParam("pageIndex") Integer pageIndex,
            @RequestParam("pageSize") Integer pageSize,@RequestParam Map<String,Object> mapkey);

    /**
     * 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - （修改/新增）
     * @param data data
     * @return Result
     */
    @PostMapping("/azbj/abzlxxgl/azbjDatabase/save")
    Result saveAzbjDatabaseInfo(@RequestParam("data") String data);

    /**
     * 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - 删除
     * @param id id
     * @return boolean
     */
    @DeleteMapping("/azbj/abzlxxgl/azbjDatabase/delete/{id}")
    boolean deleteAzbjDatabaseInfo(@PathVariable("id") String id);

    /**
     * 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - 保存下载次数
     * @param id id
     */
    @RequestMapping("/azbj/abzlxxgl/azbjDatabase/saveDownNum")
    void saveDownNum(@RequestParam("id") String id);

    /**
     * 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - 获取是否是自己发布的
     * @param map map
     * @return int
     */
    @RequestMapping("/azbj/abzlzxxgl/azbjDatabase/checkIfOwnerPublish")
    int checkIfOwnerPublish(@RequestParam Map<String,Object> map);

    /**
     * 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - 发布/取消发布
     * @param id id
     * @param stateValue stateValue
     * @return Result
     */
    @RequestMapping("/azbj/abzlxxgl/azbjDatabase/setfabuState")
    Result setfabuState(@RequestParam("id") String id,@RequestParam("stateValue") String stateValue);

    /**
     * 安帮工作资源管理 - 安帮资料信息管理 - 帮教资料 - 导出
     * @param mapkey mapkey
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/abzlxxgl/azbjDatabase/selectAzbjDatabaseInfoForExport")
    List<Map<String,Object>> selectAzbjDatabaseInfoForExport(@RequestParam Map<String,Object> mapkey);
}